
// console.log(11111111)//等价于system.out.print
// console.info(222)
// console.error(333)
// console.info(444)

//js里的大部分语法与java类似
//基本类型  五个

// number String boolean null undefind
//java是强类型语言
//js是弱类型语言
var a =1
var b ="1";
var c =true;
var d =null;
var e;
// console.log(d)
// console.log(e)
// console.log(d==e)//只是比较值，不会比较类型
// console.log(a===b)//既比较值，又比较类型

//其他的类型都属于对象
var stu = {
    name:"名字",
    age:23,
    toString :function () {
        console.log(this.name+"----"+this)
    }
}
// stu.toString();
//js里this指向的是调用该方法的对象

var ttt="a"
function show() {
    var ttt="b"
    console.log(this.ttt)
}
show();

var bbb={
    ttt:"c",
    show:show
}
bbb.show();

//数组 java固定长度:js没有固定商都,理解成java里的arrayList
//赋值尽量不要用下标


var arr2=[1]
console.log(arr2)
arr2.push(2)//从数组的右边插入
console.log(arr2)
arr2.unshift(0)//在数组的左边插入值
console.log(arr2)
var temp=arr2.pop()//取数组最右边的值，并且从数组中删除
var temp2=arr2.shift()//取数组最左边的值，并且从数组中删除
var arr3=[1,"a",3,"b"]
var temp3= arr3.join();//将数组拼接成一个字符串，中间用逗号隔开

// console.log(stu.name)//取值
// stu.name ="bbbb";//赋值
// console.log(stu.name)
// stu.heiht =177;//属性的新增很随意，你可以任意添加
// console.log(stu)

//if语句
//非空判断  java里对于非基本类型的对象，所有的取值都要先进行非空判断
//js里的简写

if (stu !=null && stu.name !=null && "" !=stu.name){

}
if (stu && stu.name){

}
methodName();
// method();

//方法
//1.函数申明式 可以再任意位置使用方法
//输入参数： 1不用谢参数类型
//         2.js的方法没有重载的概念
//         3.参数的个数可以任意填写，不管是定义还是使用
//输入参数只是为了方便程序员阅读代码
//返回
function methodName(name,age,address) {
         console.log(arguments)//底层对象，所有的输入参数都在该数组里
         return name;
}
var result = methodName(1,2)
console.log(result)
// methodName("a",0,2,3,4,5,6)
//2.函数表达式  匿名函数  只能在函数定义之后使用sa
var method =function () {
    console.log("method")
}
//提升  变量，方法
//es6: let const var


// var temp =10;
//   function tempPrint() {
//          console.log(temp)
//       var temp=8;
//   }
// tempPrint();

